加入收藏 收藏网站 设为首页 设为首页
招生考试网
学历类| 阳光高考 研 究 生 自学考试 成人高考 专 升 本 中考会考 外语类| 四 六 级 职称英语 商务英语 公共英语 日语能力
资格类| 公 务 员 报 关 员 银行从业 司法考试 导 游 证 教师资格 财会类| 会 计 证 经 济 师 会计职称 注册会计 税 务 师
工程类| 一级建造 二级建造 造 价 师 造 价 员 咨 询 师 监 理 师 医学类| 卫生资格 执业医师 执业药师 执业护士 国际护士
计算机| 等级考试 软件水平 应用能力 其它类| 书画等级 美国高考 驾 驶 员 书法等级 少儿英语 报 检 员 单 证 员 出国留学
 招生考试网 - 计算机等级考试 - 模拟试题 - 正文

 
2012计算机二级模拟试题答案(C++笔试)
来源:2exam.com 2012-2-7 编辑:独孤酒溅 【字体:小 大】
2012计算机二级模拟试题答案(C++笔试)

一、选择题

在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)循环链表的主要优点是

A)不再需要头指针了

B)从表中任一结点出发都能访问到整个链表

C)在进行插入、删除运算时,能更好的保证链表不断开

D)已知某个结点的位置后,能够容易的找到它的直接前件

(2)栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是

A)ABCED

B)DCBEA

C)DBCEA

D)CDABE

(3)n个顶点的强连通图的边数至少有

A)n-1

B)n(n-1)

C)n

D)n+1

(4)在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率。与程序的效率相比,人们更重视程序的

A)安全性

B)一致性

C)可理解性

D)合理性

(5)模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的

A)抽象和信息隐蔽

B)局部化和封装化

C)内聚性和耦合性

D)激活机制和控制方法

(6)软件开发的结构化生命周期方法将软件生命周期划分成

A)定义、开发、运行维护

B)设计阶段、编程阶段、测试阶段

C)总体设计、详细设计、编程调试

D)需求分析、功能定义、系统设计

(7)在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是

A)路径的集合

B)循环的集合

C)目标的集合

D)地址的集合

(8)在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有

A)特定的数据模型

B)数据无冗余

C)数据可共享

D)专门的数据管理软件

(9)数据库设计包括两个方面的设计内容,它们是

A)概念设计和逻辑设计

B)模式设计和内模式设计

C)内模式设计和物理设计

D)结构特性设计和行为特性设计

(10)实体是信息世界中广泛使用的一个术语,它用于表示

A)有生命的事物

B)无生命的事物

C)实际存在的事物

D)一切事物

11)以下都是C++语言标识符的是

A)dsfa,df4,f$

B)huhj,a^,k2

C)3k,h,j_9

D)_ok,jk,k8

(12)C++语言中用于定义类的关键字是

A)class

B)struct

C)default

D)sizeof

(13)设以下变量均为int类型,则值不等于7的表达式是

A)(x=y=6,x+y,x+1)

B)(x=y=6,x+y,y+1)

C)(x=6,x+1,y=6,x+y)

D)(y=6,y+1,x=y,x+1)

(14)以下程序的输出结果是

#include

void main()

{ int a=21,b=11;

cout << --a+b;}

A)30

B)31

C)32

D)33

(15)while 和do-while循环的主要区别是

A)do-while的循环体至少无条件执行一次

B)while的循环控制条件比do-while的循环控制条件更严格

C)do-while允许从外部转到循环体内

D)do-while 的循环体不能是复合语句

(16)与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是

A)if (x>0)y=1;

else if(x<0)y=-1;

else y=0;

B)if(x)

if(x>0)y=1;

else if(x<0)y=-1;

C)y=-1;

if(x)

if(x>0)y=1;

else if(x==0)y=0;

else y=-1;

D)y=0;

if(x>=0)

if(x>0)y=1;

else y=-1;

(17)若二维数组a有m列,则计算任一元素a[i][j]在数组中相对位置的公式为 (假设a[0][0]位于数组的第一个位置上)

A)i*m+j

B)j*m+i

C)i*m+j-1

D)i*m+j+1

(18)下面程序段的运行结果是

#include

void main()

{ char *s="abcde";

s+=2;

cout << &s;}

A)cde

B)字符′c′

C)字符′c′的地址

D)无确定的输出结果

(19)下面叙述不正确的是

A)派生类一般都用公有派生

B)对基类成员的访问必须是无两义性的

C)赋值兼容规则也适用于多重继承的组合

D)基类的公有成员在派生类中仍然是公有的

(20)下面程序应能对两个整型变量的值进行交换。以下正确的说法是

#include

void swap(int p,int q)

{ int t;

t=p;

p=q;

q=t;}

void main()

{ int a=10,b=20;

cout << a << " " << b;

swap(&a,&b);

cout << a << " " << b;}

A)该程序完全正确

B)该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可

C)该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可

D)以上说法都不对

(21)关于友元的概念错误的是

A)友元函数没有this指针

B)调用友元函数时必须在它的实参中给出要访问的对象

C)一个类的成员函数也可以作为另一个类的友元函数

D)只能在类的公有段声明友元

(22)关于抽象类下面说法正确的是

A)抽象类就是其中有函数定义但没有实现的类

B)抽象类是可以被实例化的

C)派生类不能成为抽象类

D)抽象类的子类必须实现父类中的纯虚函数

(23)下面程序的结果是

#include

class test { private:

int num;

public:

test();

int getint(){return num;}

~test();};

test :: test()

{ num =0;}

test::~test()

{ cout<<"Destructor is active"

{ test x[3];

cout<<"Exiting main"

Destructor is active

Destructor is active

Destructor is active

B)Exiting main

Destructor is active

Destructor is active

C)Exiting main

Destructor is active

D)Exiting main

(24)如果表达式--x+y中,--是作为成员函数重载的, +是作为成员函数重载的,则该表达式还可为

A)y.operator+(x.operator--(0))

B)y.operator+(x.operator--())

C)y.operator+(operator--(x,0))

D)operator+(x.operator--())

(25)下列语句不能够用于打开C根目录下文件test.txt的语句是

A)ifstream fin; fin.open("C:\\test.txt");

B)ifstream fin("C:\\test.txt");

C)A)和B)

D)ifstream fin; fin("C:\\test.txt");

(26)以下哪个基类中的成员函数表示纯虚函数?

A)virtual void vf (int)

B)void vf (int)=0

C)virtual void vf(=0)

D)virtual void yf(int){ }

(27)下面程序输出的结果是

#include

void main()

{ int i;

int a[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++)

cout << a[i][i] << " ";}

A)1 5 9

B)7 5 3

C)3 5 7

D)5 9 1

(28)派生类继承基类的方式有

A)public

B)private

C)protected

D)以上都对

(29)下列程序的运行结果为

#include

class Location {

protected:

int X, Y;

public:

void SetX(int myx){X=myx;}

void SetY(int myy){Y=myy;}

void showxy(){cout << "X=" << X << " " << "Y=" << Y

private:

int H, W;

public:

void SetH(int myh){H=myh;}

void SetW(int myw){W=myw;}

void show(){ cout << "X=" << X << " " << "Y=" << " " << Y << " " << "H=" << H << " " << "W=" << W << endl;}};

void main()

{ Rectangle r1;

r1.SetX (3);

r1.SetY (5);

r1.SetH (4);

r1.SetW (6);

r1.showxy();

r1.show();}

A)X=3 Y=5

X=3 Y=5 H=4 W=6

B)X=3 Y=5

X=3 Y=5 H=3 W=6

C)X=3 Y=5

X=3 Y=4 H=4 W=6

D)X=3 Y=5

X=3 Y=3 H=4 W=6

(30)有以下程序

#include

void ss(char *s,char t)

{ while(*s)

{ if(*s==t)*s=t-′a′+′A′;

s++;}}

void main()

{ char str1[100]="abcddfefdbd",c=′d′;

ss(str1,c); cout << str1;}

程序运行后的输出结果是

A)ABCDDEFEDBD

B)abcDDfefDbD

C)abcAAfefAbA

D)Abcddfefdbd

31)有以下程序

#include

void main()

{ int a=5,b=0,c=0;

if(a=b+c)cout << "***"

A)有语法错不能通过编译

B)可以通过编译但不能通过连接

C)输出***

D)输出$$$

(32)已知各变量的定义如下

int i=8,k,a,b;

unsigned long w=5;

double x=1.42,y=5.2;

则以下符合C++语言语法的表达式是

A)a+=a-=(b=4)*(a=3)

B)a=a*3+2

C)x%(-3)

D)y=float i

(33)以下程序中循环体总的执行次数是

int i,j;

for(i=6;i>1;i--)

for(j=0;j{……}

A)20

B)261

C)15

D)25

(34)对于下面的程序,说法正确的是

#include

void main()

{ int x=3,y=4,z=2;

if(x=y+z)cout << "x=y+z";

else cout << "x!=y+z";}

A)不能通过编译

B)输出6

C)输出x!=y+z

D)输出x=y+z

(35)下列程序的输出结果是

#include

void main()

{ int a[3],i,j,k=2;

for(i=0;i<3;i++)a[i]=i;

for(i=0;ifor(j=0;ja[j]=a[i];

cout << a[2];}

A)2

B)3

C)1

D)0

二、填空题

请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。

(1)常用的黑箱测试有等价分类法、 1 、因果图法和错误推测法4种。

(2)测试的目的是暴露错误,评价程序的可靠性;而 2 的目的是发现错误的位置并改正错误。

(3)软件维护活动包括以下几类:改正性维护、适应性维护、 3 维护和预防性维护。

(4)在面向对象的设计中,用来请求对象执行某一处理或回答某些信息的要求称为 4 。

(5)关键字ASC和DESC分别表示 5 的含义。

(6)C++语言中表示双精度浮点数的关键字是 6 。

(7)执行下列语句后,c3中的值为 7

int c1=1,c2=2,c3;c3=1.0/c2*c1;

(8)若从键盘输入70,则以下程序输出的结果是 8 。

#include

void main()

{ int a;cin >> a;

if(a>50)cout << a;

if(a>40)cout << a;

if(a>30)cout << a;}

(9)以下程序的输出结果是 9 。

#include

void main()

{ char s[]="abcdef";s[3]=′\0′;

cout << s << endl;}

(10)以下程序运行后的输出结果是 10 。

#include

void fun(int x,int y)

{ x=x+y;y=x-y;x=x-y;

cout << x << "," << y << ","; }

void main()

{ int x=2,y=3;fun(x,y);

cout << x << "," << y << endl;}

(11)常数据成员和静态数据成员在使用前共同的要求是要进行 11 。

(12)在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是 12 。

(13)表达式x.operator+(y.operator++(0))还可以写成 13 。

(14)要采用"cin,cout"进行输入输出时,必须包含的头文件是 14 。

(15)构造函数是和 15 同名的函数。

参考答案及分析

一、选择题

(1)B

解析: 循环链表就是将单向链表中最后一个结点的指针指向头结点,使整个链表构成一个环形,这样的结构使得从表中的任一结点出发都能访问到整个链表。

(2)B

解析: 栈操作原则上"后进先出",栈底至栈顶依次存放元素A、B、C、D,则表明这4个元素中D是最后进栈,B、C处于中间,A最早进栈。所以出栈时一定是先出D,再出C,最后出A。

(3)C

解析: 在有向图中,若任意两个顶点都连通,则称该图是强连通图,这样的有向图的形状是环状,因而至少应有n条边。

(4)C

解析: 结构化程序设计方法设计出的程序具有明显的优点。其一,程序易于理解、使用和维护;其二,提交了编程工作的效率,降低了软件开发成本。其中,人们更重视前者。

(5)C

解析: 模块的独立程序是评价设计好坏的重要度量标准。衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准。

(6)A

解析: 通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。它可以分为软件定义、软件开发及软件运行维护3个阶段。

(7)A

解析: 软件的白盒测试方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。

(8)A

解析: 在文件系统中,相互独立的记录其内部结构的最简单形式是等长同格式记录的集合,易造成存储空间大量浪费,不方便使用。而在数据库系统中,数据是结构化的,这种结构化要求在描述数据时不仅描述数据本身,还要描述数据间的关系,这正是通过采用特定的数据模型来实现的。

(9)A

解析: 数据库设计包括数据库概念设计和数据库逻辑设计两个方面的设计内容。

(10)C

解析: 实体是客观存在且可以相互区别的事物。实体可以是具体的对象,如一个学生,也可以是一个抽象的事件,如一次出门旅游等。因此,实体既可以是有生命的事物,也可以是无生命的事物,但它必须是客观存在的,而且可以相互区别。

(11)D

解析: C++语言标识符只能由数字,字母和下划线组成,并且只能以字母和下划线为开头。

(12)A

解析: C++中类定义的关键字是class。class不能大写。

(13)C

解析: C++语言中逗号","也是一种运算符,称为逗号运算符。其功能是把两个表达式连接起来组成一个表达式,称为逗号表达式。其一般形式为:表达式1, 表达式2,其求值过程是分别求两个表达式的值,并以表达式2的值作为整个逗号表达式的值。逗号表达式的一般形式可以扩展为:表达式1,表达式2,表达式3,…,表达式n,它的值为表达式n的值。

(14)B

解析: 自减运算符位于变量之前时,先使变量的值减1,再进行运算。

(15)A

解析: while是先判断条件再执行语句;do-while则是先执行一次语句再判断



 
  • 上一个文章:

  • 下一个文章: 没有了
  • 网站版权与免责声明
    ①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
    ②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权等问题,请在两周内来电联系.
    最新文章
    推荐文章
  • 此栏目下没有推荐文章
  • 热门文章

    报名考试
    全国 | 黑龙江 | 吉林 | 辽宁 | 内蒙古
    青海 | 宁夏 | 甘肃 | 新疆 | 陕西
    西藏 | 北京 | 天津 | 河北 | 山东
    江苏 | 安徽 | 河南 | 上海 | 浙江
    福建 | 广东 | 山西 | 湖南 | 湖北
    江西 | 广西 | 海南 | 云南 | 贵州
    四川 | 重庆
    分省高校计算机考试
    黑龙江 | 吉林 | 辽宁 | 内蒙古 | 河北
    北京 | 天津 | 新疆 | 甘肃 | 宁夏
    青海 | 陕西 | 山西 | 河南 | 山东
    江苏 | 安徽 | 浙江 | 福建 | 广东
    海南 | 广西 | 江西 | 湖北 | 湖南
    四川 | 上海 | 重庆 | 贵州 | 云南
    西藏
    成绩查询
    报考指南
    试题答案
    模拟试题
    考试辅导
    计算机一级 | 计算机二级 | 计算机三级 | 计算机四级
    经验交流
    高校计算机